<?php
/**
 * @author 		: Sergio Martínez
 * @copyright 	: 12-12-2011
 * @todo 		: Mecanismo de carga
 * @version 	: 2.0
 */

/**
 * Proceso:
 * 	1. incluye fichero "enviroment" global
 * 	2. verifica si existe modelo, en tal caso lo carga y crea el objeto.
 * 	3. evalua si esta tratando de entrar en una secci�n y si esta existe (a futuro: evaluar si tiene permiso)
 * 	4. si vino secci�n: carga su enviroment
 * 	5. verifica si esta tratando de entrar en una acci�n y si existe
 * 	7. si vino acci�n: carga su behaviour.
 * 	8. verifica si existe el controlador, y si tiene permiso del behaviour, en tal caso lo carga
 * 	9. verifica si tiene permiso para selecionar la vista [ya que puede haber sido asinagada previamente por el behaviour/controller]
 * 	10. luego verifica si existe un "select_view" local del modulo, en tal caso lo carga, sino carga el "select_view" del core por defecto.
 * 	11. en caso de no intentado entrar a una acci�n pero si a una secci�n, entonces carga el behaviour de la seccion [donde se carga la vista por defecto, que generalmente es un list].
 *  12. En caso de que no haya entra a una secci�n trae la vista de bienvenida, con el loadMode = 1, para que haga echo.
 * 	13.	Carga todos los css y js correspondientes.
 */

	include("enviroment.php");
	
	if (!isset($glb_section)) {
		$glb_section = "home";
		$_GET["section"] = "home";
	}
	
	if (existeModelo()) {
		include ("website/frontend/modules/".$glb_section."/models/".$glb_section.".model.php");
		$object = new $glb_section; 
	}
	// Layout
	load_js("plugins/jquery/jquery-1.7.2.min.js");
	load_css_js();
	
	if (isset($glb_section) && access_existeSeccion($glb_section)) { 
		include ("website/frontend/modules/".$glb_section."/enviroment.php");
		if (isset($glb_action) && access_existeAccionEnSeccion($glb_action,$glb_section)) { 
			include ("website/frontend/modules/".$glb_section."/behaviours.php"); 
			if (file_exists("website/frontend/modules/".$glb_section."/actions/".$glb_action."/controller.php")) {
				if ($glb_behaviourPermissionController) include ("website/frontend/modules/".$glb_section."/actions/".$glb_action."/controller.php");
			}
			if ($glb_controllerPermissionSelectView) {
				if (file_exists("website/frontend/modules/".$glb_section."/select_view.php")) include ("website/frontend/modules/".$glb_section."/select_view.php");
				else include ("select_view.php");
			}
		} else {
			$glb_actionDontCome = true;
			include ("website/frontend/modules/".$glb_section."/behaviours.php"); 
		}
	}
?>